package com.example.zhaohang.goolg.utils;

/**
 * 封装的是使用Gson解析json的方法
 * @author Administrator
 *
 */
public class GsonUtil {

	/**
	 * 把一个map变成json字符串
	 * @param map
	 * @return
//	 */
//	public static String parseMapToJson(Map<?, ?> map) {
//		try {
//			Gson gson = new Gson();
//			return gson.toJson(map);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return null;
//		}
//	}
//
//	/**
//	 * 把一个json字符串变成对象
//	 * @param json
//	 * @param cls
//	 * @return
//	 */
//	public static <T> T parseJsonToBean(String json, Class<T> cls) {
//		Gson gson = new Gson();
//		T t = null;
//		try {
//			t = gson.fromJson(json, cls);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return null;
//		}
//		return t;
//	}
//
//	//解析json数组
//	public static <T> List<T> fromJsonArray(String json, Class<T> clazz)  {
//		List<T> lst = null;
//		try {
//			lst = new ArrayList<T>();
//
//			JsonArray array = new JsonParser().parse(json).getAsJsonArray();
//			for(final JsonElement elem : array){
//                lst.add(new Gson().fromJson(elem, clazz));
//            }
//		} catch (JsonSyntaxException e) {
//			e.printStackTrace();
//			return null;
//		}
//
//		return lst;
//	}
//
//
//	/**
//	 * 把json字符串变成map
//	 * @param json
//	 * @return
//	 */
//	public static HashMap<String, Object> parseJsonToMap(String json) {
//		Gson gson = new Gson();
//		Type type = new TypeToken<HashMap<String, Object>>() {
//		}.getType();
//		HashMap<String, Object> map = null;
//		try {
//			map = gson.fromJson(json, type);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return null;
//		}
//		return map;
//	}
///*	public static <T> List<T> changeGsonToList(String gsonString, T cls) {
//		Gson gson = new Gson();
//		List<T> list = gson.fromJson(gsonString, new TypeToken<List<T>>() {
//		}.getType());
//		return list;
//	}*/
//
//
//	/**
//	 * 把json字符串变成集合
//	 * params: new TypeToken<List<yourbean>>(){}.getType(),
//	 *
//	 * @param json
//	 * @param type  new TypeToken<List<yourbean>>(){}.getType()
//	 * @return
//	 */
//	public static <T> List<T> parseJsonToList(String json, Type type) {
//		Gson gson = new Gson();
//		List<T> list = gson.fromJson(json, type);
//		return list;
//	}
///*	public static <T> List<T> parseJsonToList(String json, Class<T> clss) {
//		Gson gson = new Gson();
//		List<T> list = gson.fromJson(json, new TypeToken<List<T>>(){}.getType());
//		return list;
//	}*/
///*	public static <T> List<T> parseJsonToList2(String json) {
//		Gson gson = new Gson();
//		List<T> list = gson.fromJson(json, new TypeToken<List<T>>(){}.getType());
//		return list;
//	}*/
//
//	/**
//	 *
//	 * 获取json串中某个字段的值，注意，只能获取同一层级的value
//	 *
//	 * @param json
//	 * @param key
//	 * @return
//	 */
//	public static String getFieldValue(String json, String key) {
//		if (TextUtils.isEmpty(json))
//			return null;
//		if (!json.contains(key))
//			return "";
//		JSONObject jsonObject = null;
//		String value = null;
//		try {
//			jsonObject = new JSONObject(json);
//			value = jsonObject.getString(key);
//		} catch (JSONException e) {
//			e.printStackTrace();
//			return "";
//		}
//
//		return value;
//	}

}
